/*
 * ConfiguracionCampania.java
 *
 * Created on 2 de mayo de 2007, 14:00
 */

package despachador.administracion;

import excepciones.AvwException;
import gestores.administracion.GestorDestacadosCampania;
import java.io.*;
import java.net.*;
import java.util.ArrayList;
import java.util.HashMap;

import javax.servlet.*;
import javax.servlet.http.*;
import util.Archivos;
import util.Recurso;

/**
 *
 * @author Administrador
 * @version
 */
public class ConfiguracionCampania extends HttpServlet {
    
    /** Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
     * @param request servlet request
     * @param response servlet response
     */
    public void processRequest(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException {
        String accion = "";
        String artSeleccionado[] = null;
        String opcion = "";
        if(request.getParameter("opcion")!=null){
            opcion = request.getParameter("opcion");
        }
        if(opcion.equals("insertarDestacado")){    
            if (request.getParameter("nivel") != null){
                int nivel = Integer.valueOf(request.getParameter("nivel"));
                if (nivel != 2){
                    if (request.getParameter("artSeleccionado") != null){
                        String camCodigo = request.getParameter("camCodigo");
                        String cawCodigo = request.getParameter("cawCodigo");
                        ArrayList<HashMap> articulos = new ArrayList<HashMap>();
                        artSeleccionado = request.getParameterValues("artSeleccionado");
                        int i = 0;
                        while(i != artSeleccionado.length){
                            HashMap art = new HashMap();
                            art.put("artCodigo",artSeleccionado[i]);
                            art.put("cawCodigo",cawCodigo);
                            articulos.add(art);

                            i++;
                        }
                        try {
                            GestorDestacadosCampania.insertarDestacados(camCodigo,nivel,articulos);
                        } catch (NullPointerException ex) {
                            ex.printStackTrace();
                        } catch (AvwException ex) {
                            ex.printStackTrace();
                        }
                    }
                }
            }
        }
        
        if (opcion.equals("eliminar")){
            int nivel = Integer.valueOf(request.getParameter("nivel"));
            String camCodigo = request.getParameter("camCodigo");
            String cawCodigo = request.getParameter("cawCodigo");
            String artCodigo = request.getParameter("artCodigo");
            try {
                GestorDestacadosCampania.eliminarDestacado(camCodigo,nivel,artCodigo,cawCodigo);
            } catch (NullPointerException ex) {
                ex.printStackTrace();
            } catch (AvwException ex) {
                ex.printStackTrace();
            }
        }
            /*Guarda el flash*/
        if (opcion.equals("insertarFlash")){
            Recurso r = null;
            try {
                String camCodigo = request.getParameter("camCodigo");
                String cawCodigo = request.getParameter("cawCodigo");
                String artCodigo = request.getParameter("articuloFlash");
                ArrayList<HashMap> articulos = new ArrayList<HashMap>();
                HashMap articulo = new HashMap();
                articulo.put("artCodigo",artCodigo);
                articulo.put("cawCodigo",cawCodigo);
                articulos.add(articulo);
                if (!request.getParameter("articuloFlash").equals("")){
                    String dstArchivo = "flash_"+camCodigo+"_"+cawCodigo;
                    GestorDestacadosCampania.insertarDestacados(camCodigo,2,articulos);
                    r = new Recurso("negocio.properties");
                    if (!Archivos.upload(request,"fileFlash",r.obtenerPropiedad("dirGuardaFlash"),dstArchivo)){
                        request.setAttribute("errorMsj","ERROR al subir el archivo.");
                    }
                } else{
                    request.setAttribute("errorMsj","Se debe seleccionar un articulo para el flash.");
                }
            } catch (AvwException ex) {
                ex.printStackTrace();
                request.setAttribute("errorMsj","ERROR al subir el archivo.");
            }
            
        }
             /*Guarda el flashDestacado*/
        if (opcion.equals("insertarFlashDestacado")){
            Recurso r = null;
            try {
                String camCodigo = request.getParameter("camCodigo");
                String cawCodigo = request.getParameter("cawCodigo");
                String dstArchivo = "flash_"+camCodigo+"_"+cawCodigo+"_destacado";
                r = new Recurso("negocio.properties");
                if (!Archivos.upload(request,"fileFlash",r.obtenerPropiedad("dirGuardaFlash"),dstArchivo)){
                    request.setAttribute("errorMsj","ERROR al subir el archivo.");
                }
            } catch (AvwException ex) {
                ex.printStackTrace();
                request.setAttribute("errorMsj","ERROR al subir el archivo.");
            }
            
        }
        
        armarPagina(request, response);
    }
    
    private void armarPagina(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException {
        
        // Especificamos que pagina se coloca en cada parte del layout
        request.setAttribute("1", "/vistas/administracion/encabezado.jsp");
        request.setAttribute("2", "/vistas/administracion/menu.jsp");
        request.setAttribute("3", "/vistas/administracion/subMenu.jsp");
        request.setAttribute("4", "/vistas/administracion/configuracionCampania.jsp");
        request.setAttribute("5", "/vistas/administracion/pie.jsp");
        
        dispatch(request, response, "/compositor/administracion/cuatrocuerpos.jsp");
    }
    
    
    
    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /** Handles the HTTP <code>GET</code> method.
     * @param request servlet request
     * @param response servlet response
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    }
    
    /** Handles the HTTP <code>POST</code> method.
     * @param request servlet request
     * @param response servlet response
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    }
    
    /** Returns a short description of the servlet.
     */
    public String getServletInfo() {
        return "Short description";
    }
    // </editor-fold>
    
    /**
     * dispatcher method
     */
    protected void dispatch(HttpServletRequest request,
            HttpServletResponse response, String page)
            throws javax.servlet.ServletException,
            java.io.IOException {
        RequestDispatcher dispatcher =
                getServletContext().
                getRequestDispatcher(page);
        dispatcher.forward(request, response);
    }
}